home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 07 (1983-03)(Softdisk)(Side A).zip / Softdisk Magazette Volume 2, No. 07 (1983-03)(Softdisk)(Side A).do / GAME3.bas < prev    next >
BASIC Source File  |  1996-12-24  |  8KB  |  150 lines

  1. 5 U1 = 0:U2 = 0:H = 1:T = 1
  2. 30  GOTO 600
  3. 52  FOR YX = 1 TO 11: IF AZ(YX) >1  THEN  ON AZ(YX) GOSUB 58,58,54,65,72,82,96,60,57,57,58: GOSUB 120: CALL 36361
  4. 53  NEXT : RETURN 
  5. 54 L = 27143: GOSUB 100:X = 100:Y = 135: RETURN 
  6. 57 L = 28146: GOSUB 100:X = 256:Y = 126: RETURN 
  7. 58 L = 29024: GOSUB 100:X = 29:Y = 98: RETURN 
  8. 60 L = 28085: GOSUB 100:X = 220:Y = 140: RETURN 
  9. 65 L = 26883: GOSUB 100:X = 200:Y = 95: RETURN 
  10. 72 L = 26935: GOSUB 100:X = 230:Y = 120: RETURN 
  11. 82 L = 26996: GOSUB 100:X = 30:Y = 120: RETURN 
  12. 96 L = 27088: GOSUB 100:X = 140:Y = 130: RETURN 
  13. 100 LL = L - INT(L/256) *256:LH =  INT(L/256)
  14. 110  POKE 36352,LL: POKE 36353,LH: RETURN 
  15. 120  POKE 36354,X -(X >255) *256: POKE 36355,X >255: POKE 36356,Y: RETURN 
  16. 140  PRINT N$(2);
  17. 145  VTAB  PEEK(37) +1: HTAB 23: CALL  -868: GET A$
  18. 150 Z =  ASC(A$) -64
  19. 152  IF Z =  -51  AND SW = 0  THEN  POKE  -16303,0:SW = 1: GOTO 145
  20. 153  IF Z =  -51  THEN  POKE  -16304,0:SW = 0: GOTO 145
  21. 155  IF Z <1  OR Z >26  THEN 145
  22. 156  IF V$(Z) = "X"  THEN 145
  23. 200  VTAB  PEEK(37) +1: HTAB 23: PRINT V$(Z);
  24. 205  VTAB  PEEK(37) +1: HTAB  PEEK(36) +2: INPUT "";B$
  25. 210  IF B$ = ""  THEN ZZ =  PEEK(37): POKE 37,ZZ -1: GOTO 145
  26. 211  IF Z = 9  THEN  GOSUB 1020:S = 1
  27. 213  IF Z = 17  THEN  GOTO 1140
  28. 215  RETURN 
  29. 250  PRINT N$(3): RETURN 
  30. 600  PRINT N$(57): HCOLOR= 3: HPLOT 0,1 TO 0,2: CALL  -3082
  31. 610  GOSUB 140
  32. 620  IF Z = 12  AND U1 = 0  THEN  PRINT N$(58): GOTO 610
  33. 625  IF Z = 21  THEN  GOSUB 997: GOSUB 1132:S = 1: IF GT = 1  THEN GT = 0:S = 0: IF C$ = "SUNG"  THEN  PRINT "O'K": HCOLOR= 6: HPLOT 0,1: CALL  -3082:U1 = 1
  34. 627  IF U1 = 1  THEN  HCOLOR= 3: HPLOT 0,1: CALL  -3082
  35. 631  IF U1 = 1  THEN L = 28183: GOSUB 100:X = 30:Y = 30: GOSUB 120: CALL 36361:U1 = 2
  36. 632  IF U1 = 2  THEN  IF  PEEK( -16384) <127  THEN 632
  37. 633  POKE  -16368,0
  38. 634  IF U1 = 2  THEN  PRINT : PRINT : PRINT : PRINT : VTAB 22: HTAB 1: PRINT "TRANSPORT SYSTEMS FUNCTION CHECK......":C$ = "CHAN": GOSUB 1132: VTAB 23: HTAB 1: CALL  -868: IF GT = 1  THEN  VTAB 23: HTAB 7: PRINT "CHECK-O'K     ";: FLASH : PRINT "TRANSPORTING"
  39. 636  IF U1 = 2  AND GT = 1  THEN GT = 0: NORMAL : GOTO 650
  40. 638  IF U1 = 2  THEN  VTAB 23: HTAB 1: PRINT "SYSTEM FAILURE...............":U1 = 0: GOTO 610
  41. 640  IF Z = 5  OR Z = 14  OR Z = 19  OR Z = 23  THEN  GOTO 1140
  42. 642  IF S = 0  THEN  GOSUB 250
  43. 644 S = 0: GOTO 610
  44. 650  FOR X = 1 TO 5000: NEXT :AZ(1) = 2:AZ$(1) = N$(68): FOR X = 2 TO 9:AZ(X) = 0:AZ$(X) = "": NEXT 
  45. 652  VTAB 23: HTAB 1: CALL  -868
  46. 654  PRINT N$(64)
  47. 655  PRINT N$(65)
  48. 656  PRINT N$(66)
  49. 658 L = 28475: GOSUB 100: CALL 36400
  50. 659  GOSUB 52
  51. 660  GOSUB 140
  52. 661 U2 = U2 +1: IF U2 >3  THEN  IF U2 <6  THEN  PRINT N$(67)
  53. 662  IF Z = 8  AND H = 0  THEN  PRINT N$(69): GOTO 660
  54. 663  IF U2 >4  THEN  IF H = 1  AND T = 1  THEN  GOSUB 708: GOTO 660
  55. 664  IF Z = 7  OR Z = 8  THEN  GOSUB 1000:S = 1: IF GT = 1  AND C$ = N$(68)  THEN  GOSUB 705
  56. 665  IF GT = 1  THEN GT = 0:S = 0: GOTO 658
  57. 666  IF Z = 4  THEN  GOSUB 1030:S = 1: IF CZ = 1  THEN CZ = 0:S = 0: GOTO 658
  58. 667  IF U2 >8  THEN  GOTO 710
  59. 668  IF Z = 12  THEN  GOSUB 997: IF C$ = "MONI"  THEN  IF U2 <7  THEN  PRINT N$(70): GOTO 660
  60. 670  IF Z = 12  AND C$ = N$(68)  THEN  IF H = 0  THEN  PRINT N$(71): GOTO 660
  61. 672  IF Z = 12  AND C$ = N$(68)  THEN  IF T = 0  THEN  PRINT N$(72): GOTO 660
  62. 674  IF Z = 12  AND C$ = N$(68)  THEN  IF H = 1  AND T = 1  THEN  PRINT N$(73): GOTO 660
  63. 676  IF Z = 12  THEN  GOSUB 1061: GOTO 660
  64. 680  IF Z = 5  OR Z = 14  OR Z = 19  OR Z = 23  THEN  GOSUB 1080:S = 1
  65. 700  IF S = 0  THEN  GOSUB 250
  66. 702 S = 0: GOTO 660
  67. 705  FOR YX = 1 TO 5: IF  LEFT$(I$(YX),4) = "GLAS"  THEN  IF H = 1  THEN I$(YX) = IT$(10):I$(Y) = "":T = 0: RETURN 
  68. 706  NEXT 
  69. 707 I$(Y) = IT$(11)
  70. 708  IF H = 1  THEN H = 0: PRINT N$(75)
  71. 709  RETURN 
  72. 710  PRINT : PRINT : PRINT : PRINT "THE SHIP IS STARTING TO ACCELERATE."
  73. 711  HGR : HCOLOR= 3: HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0 TO 10,10 TO 269,10 TO 279,0 TO 269,10 TO 269,149 TO 279,159 TO 269,149 TO 10,149 TO 0,159 TO 10,149 TO 10,10
  74. 715  PRINT "YOU SIT DOWN AT THE CONTROL PANEL."
  75. 720  IF  PEEK( -16384) <127  THEN 720
  76. 722  POKE  -16368,0
  77. 730  PRINT : PRINT : PRINT : PRINT 
  78. 740  FLASH : VTAB 21: HTAB 1: PRINT "WARNING";: NORMAL : PRINT " USE ARROW <- & -> KEYS TO STEER";
  79. 743 U1 = 0:Z = 140:U2 = 80:C1 = 10000:YX = 0
  80. 744  FOR X = 0 TO 10:X(X) =  INT(219 *( RND(1))) +30:Y(X) =  INT(99 *( RND(1))) +30: NEXT 
  81. 746  FOR I = 0 TO 10:X = X(I):Y = Y(I):L = 29117 +(I *10): IF L >29148  THEN L = 29147
  82. 748  GOSUB 100: GOSUB 120: CALL 36361
  83. 750  NEXT :I = 0
  84. 751 X(I) =  INT(219 *( RND(1))) +30:Y(I) =  INT(99 *( RND(1))) +30:X = X(I):Y = Y(I):L = 29117 +(I *10): GOSUB 100: GOSUB 120: CALL 36361:I = I +1: IF I >2  THEN I = 0
  85. 752  IF  PEEK( -16384) <127  THEN  GOTO 758
  86. 753  GET A$
  87. 754  IF  ASC(A$) = 8  THEN Z = Z -10: IF Z <12  THEN Z = 12
  88. 756  IF  ASC(A$) = 21  THEN Z = Z +10: IF Z >267  THEN Z = 267
  89. 758 A$ = ""
  90. 760  HCOLOR= 3: HPLOT Z,151 TO Z,157
  91. 762  IF  ABS((Z -U2)) <30  THEN U1 = U1 +1
  92. 764  IF  ABS((Z -U2)) >29  AND U1 < >0  THEN U1 = 0:U2 =  INT(219 *( RND(1))) +30: IF  ABS((Z -U2)) <9  THEN U2 = U2 +10: IF  ABS((Z -U2)) <9  THEN U2 = U2 -20
  93. 766  IF U1 >0  AND (Z -U2) <0  THEN  VTAB 22: HTAB 9: FLASH : PRINT "WARNING";: NORMAL : PRINT " OBJECT TO RIGHT";: GOTO 770
  94. 768  IF U1 >0  THEN  VTAB 22: HTAB 9: FLASH : PRINT "WARNING";: NORMAL : PRINT " OBJECT TO LEFT ";
  95. 770  IF U1 >6  THEN  HOME : HCOLOR= 5: HPLOT 0,1: CALL  -3082: VTAB 22: HTAB 2: FLASH : PRINT "YOUR SHIP HAS COLLIDED WITH A PLANET":: NORMAL : FOR X = 1 TO 9000: NEXT : VTAB 22: HTAB 1: CALL  -868: GOTO 795
  96. 772  VTAB 24: HTAB 1: PRINT "      TO DESTINATION";: VTAB 24: HTAB 1: PRINT  INT(C1);
  97. 774  IF C1 <52  THEN  GOTO 810
  98. 776 C2 =  INT(((10000 -C1)/10) *10000)
  99. 777  VTAB 23: HTAB 30: PRINT "SPEED";
  100. 778  IF C2 >300000  THEN  VTAB 24: HTAB 28: PRINT "WARP DRIVE";
  101. 780  IF C2 < = 300000  THEN  VTAB 24: HTAB 28: CALL  -868: PRINT C2;: PRINT " KM/S";
  102. 782 C1 = C1 -50:U2 =  INT( INT((Z -U2)/10) +U2)
  103. 784 X = X(I):Y = Y(I):L = 29107: GOSUB 100: GOSUB 120: CALL 36361:X =  INT(239 *( RND(1))) +15:Y =  INT(119 *( RND(1))) +15:L = 29147: GOSUB 100: GOSUB 120: CALL 36361
  104. 785  HCOLOR= 0: HPLOT Z,151 TO Z,157
  105. 786  VTAB 22: HTAB 1: CALL  -868
  106. 790  GOTO 751
  107. 795  GOTO 1140
  108. 810  FOR X = 21 TO 24: HTAB 1: VTAB X: CALL  -868: NEXT 
  109. 815  VTAB 22: HTAB 2: PRINT "YOU HAVE ARRIVED AT YOUR DESTINATION"
  110. 830  PRINT  CHR$(4);"BLOAD CHAIN,A520"
  111. 840  CALL 520"GAME4"
  112. 997 C$ = B$: IF  LEN(B$) <4  THEN C$ = B$ +"XXXX"
  113. 998 C$ =  LEFT$(C$,4): RETURN 
  114. 1000  GOSUB 997
  115. 1001  FOR X = 1 TO 9: IF  LEFT$(C$,4) =  LEFT$(AZ$(X),4)  THEN  GOSUB 1010:AZ$(X) = "":AZ(X) = 0: PRINT "O'K":GT = 1: RETURN 
  116. 1002  NEXT 
  117. 1008  PRINT N$(36): RETURN 
  118. 1010  FOR Y = 1 TO 5: IF I$(Y) = ""  THEN I$(Y) = AZ$(X): RETURN 
  119. 1012  NEXT : PRINT N$(37): POP : RETURN 
  120. 1020  FOR X = 1 TO 5: IF I$(X) < >""  THEN  PRINT I$(X)
  121. 1022  NEXT : RETURN 
  122. 1030  GOSUB 997
  123. 1031  IF C$ =  LEFT$(IT$(1),4)  THEN  PRINT N$(38): RETURN 
  124. 1032  FOR Y = 1 TO 5
  125. 1033  IF C$ =  LEFT$(I$(Y),4)  THEN  GOSUB 1040
  126. 1034  NEXT Y: PRINT N$(39): RETURN 
  127. 1040  FOR YX = 0 TO 15: IF I$(Y) = IT$(YX)  THEN  GOSUB 1050
  128. 1042  NEXT YX: RETURN 
  129. 1050  FOR YZ = 1 TO 8: IF AZ(YZ) = 0  THEN AZ(YZ) = YX:AZ$(YZ) = IT$(YX): PRINT "0'K":I$(Y) = "": POP : POP :CZ = 1: RETURN 
  130. 1052  NEXT YZ: RETURN 
  131. 1060  GOSUB 997
  132. 1061  FOR Y = 0 TO 3
  133. 1062  IF C$ =  LEFT$(P$(Y),4)  THEN  PRINT  MID$ (P$(Y),6, LEN(P$(Y)));: GOTO 1065
  134. 1064  NEXT : GOTO 1070
  135. 1065  PRINT " WITH ": FOR Y = 1 TO 9: IF AZ$(Y) < >""  THEN  PRINT AZ$(Y);" ";
  136. 1066  NEXT : PRINT : RETURN 
  137. 1070  FOR Y = 1 TO 5: IF C$ =  LEFT$(IT$(4),4)  THEN  IF I$(Y) = IT$(4)  THEN  PRINT N$(41): RETURN 
  138. 1071  NEXT 
  139. 1072  FOR Y = 1 TO 5: IF C$ =  LEFT$(I$(Y),4)  THEN  PRINT N$(42): RETURN 
  140. 1073  NEXT 
  141. 1075  FOR Y = 1 TO 9: IF C$ =  LEFT$(AZ$(Y),4)  THEN  PRINT N$(43): RETURN 
  142. 1076  NEXT 
  143. 1078  PRINT N$(44): RETURN 
  144. 1080  PRINT N$(45): RETURN 
  145. 1132  FOR Y = 1 TO 5: IF C$ =  LEFT$(I$(Y),4)  THEN GT = 1: RETURN 
  146. 1133  NEXT : PRINT N$(39): RETURN 
  147. 1140 L = 26624: GOSUB 100: CALL 36400: PRINT N$(51)
  148. 1144  PRINT N$(52);: GET A$: IF A$ = "Y"  THEN  PRINT : PRINT  CHR$(4);"RUN GAME1"
  149. 1148  IF A$ = "N"  THEN  PRINT  CHR$(4)"RUN KICK.IT.OFF"
  150. 1150  PRINT : GOTO 1144